package tps.video_games;

import javax.swing.JOptionPane;

import com.uqbar.vainilla.DeltaState;

public class BolitaDespegadaDePaleta extends EstadoBolita{
	
	Bolita bolita;

	public BolitaDespegadaDePaleta(Bolita bolita) {
		this.bolita = bolita;		
	}
	
	@Override
	public void update(DeltaState deltaState) {
		double advanced = this.bolita.getSpeed() * deltaState.getDelta();

		this.bolita.move(this.bolita.getI() * advanced, this.bolita.getJ() * advanced);
		
		double w = this.bolita.getGame().getDisplayWidth();
		double x = this.bolita.getX();
		double h = this.bolita.getGame().getDisplayHeight();
		double y = this.bolita.getY();
		
		//Chequeo de colision con los limites de la pantalla
		//pared de la derecha
		if(x > w - this.bolita.getDiameter()){
			this.bolita.setX(w - this.bolita.getDiameter() );
			this.bolita.setI(-this.bolita.getI());
		}			
		//pared de la izquierda
		if(x<0){
			this.bolita.setX(0);
			this.bolita.setI(-this.bolita.getI());
		}
		//pared de arriba
		if(y<0){
			this.bolita.setY(0);
			this.bolita.setJ(-this.bolita.getJ());
		}
		//pared de abajo
		if(y > h - this.bolita.getDiameter()){
			Arkanoid arkanoid = (Arkanoid)this.bolita.getGame();
			arkanoid.quitarBolita(this.bolita);
		}
		
		//Chequeo de colision con paleta
		this.bolita.chequearColisionConPaleta();
		//Chequeo de colision con ladrillos
		this.bolita.chequearColisionConLadrillos();	
		super.update(deltaState);
	}


}
